Decision Tree - I¶

In [1]:
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import accuracy_score, confusion_matrix, roc_auc_score, roc_curve
In [2]:
df= pd.read_csv(r"E:\ML by Sudh\Sourse File\winequality_red.csv")
df.head()
Out[2]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol quality
0 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25.0 67.0 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15.0 54.0 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17.0 60.0 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
In [3]:
from pandas_profiling import ProfileReport
In [4]:
ProfileReport(df)
Summarize dataset:   0%|          | 0/5 [00:00<?, ?it/s]
Generate report structure:   0%|          | 0/1 [00:00<?, ?it/s]
Render HTML:   0%|          | 0/1 [00:00<?, ?it/s]
Out[4]:

In [5]:
df.describe().T
Out[5]:
count mean std min 25% 50% 75% max
fixed acidity 1599.0 8.319637 1.741096 4.60000 7.1000 7.90000 9.200000 15.90000
volatile acidity 1599.0 0.527821 0.179060 0.12000 0.3900 0.52000 0.640000 1.58000
citric acid 1599.0 0.270976 0.194801 0.00000 0.0900 0.26000 0.420000 1.00000
residual sugar 1599.0 2.538806 1.409928 0.90000 1.9000 2.20000 2.600000 15.50000
chlorides 1599.0 0.087467 0.047065 0.01200 0.0700 0.07900 0.090000 0.61100
free sulfur dioxide 1599.0 15.874922 10.460157 1.00000 7.0000 14.00000 21.000000 72.00000
total sulfur dioxide 1599.0 46.467792 32.895324 6.00000 22.0000 38.00000 62.000000 289.00000
density 1599.0 0.996747 0.001887 0.99007 0.9956 0.99675 0.997835 1.00369
pH 1599.0 3.311113 0.154386 2.74000 3.2100 3.31000 3.400000 4.01000
sulphates 1599.0 0.658149 0.169507 0.33000 0.5500 0.62000 0.730000 2.00000
alcohol 1599.0 10.422983 1.065668 8.40000 9.5000 10.20000 11.100000 14.90000
quality 1599.0 5.636023 0.807569 3.00000 5.0000 6.00000 6.000000 8.00000
In [6]:
X= df.drop(columns= 'quality')
X.head()
Out[6]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
0 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4
1 7.8 0.88 0.00 2.6 0.098 25.0 67.0 0.9968 3.20 0.68 9.8
2 7.8 0.76 0.04 2.3 0.092 15.0 54.0 0.9970 3.26 0.65 9.8
3 11.2 0.28 0.56 1.9 0.075 17.0 60.0 0.9980 3.16 0.58 9.8
4 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4
In [7]:
y= df['quality']
y.head()
Out[7]:
0    5
1    5
2    5
3    6
4    5
Name: quality, dtype: int64
In [8]:
x_train , x_test, y_train,y_test = train_test_split(X,y,test_size = .25,random_state = 30)
In [9]:
x_train
Out[9]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
1178 5.6 0.915 0.00 2.1 0.041 17.0 78.0 0.99346 3.68 0.73 11.4
1189 8.8 0.955 0.05 1.8 0.075 5.0 19.0 0.99616 3.30 0.44 9.6
161 7.6 0.680 0.02 1.3 0.072 9.0 20.0 0.99650 3.17 1.08 9.2
109 8.1 0.785 0.52 2.0 0.122 37.0 153.0 0.99690 3.21 0.69 9.3
961 7.1 0.560 0.14 1.6 0.078 7.0 18.0 0.99592 3.27 0.62 9.3
... ... ... ... ... ... ... ... ... ... ... ...
919 8.4 0.620 0.12 1.8 0.072 38.0 46.0 0.99504 3.38 0.89 11.8
1164 9.0 0.785 0.24 1.7 0.078 10.0 21.0 0.99692 3.29 0.67 10.0
500 7.8 0.520 0.25 1.9 0.081 14.0 38.0 0.99840 3.43 0.65 9.0
941 9.9 0.270 0.49 5.0 0.082 9.0 17.0 0.99484 3.19 0.52 12.5
421 6.6 0.840 0.03 2.3 0.059 32.0 48.0 0.99520 3.52 0.56 12.3

1199 rows × 11 columns

In [10]:
x_test
Out[10]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
1147 10.0 0.410 0.45 6.20 0.071 6.0 14.0 0.99702 3.21 0.49 11.8
659 7.1 0.840 0.02 4.40 0.096 5.0 13.0 0.99700 3.41 0.57 11.0
871 6.9 0.560 0.03 1.50 0.086 36.0 46.0 0.99522 3.53 0.57 10.6
1333 9.1 0.775 0.22 2.20 0.079 12.0 48.0 0.99760 3.18 0.51 9.6
1411 6.4 0.470 0.40 2.40 0.071 8.0 19.0 0.99630 3.56 0.73 10.6
... ... ... ... ... ... ... ... ... ... ... ...
721 8.9 0.480 0.24 2.85 0.094 35.0 106.0 0.99820 3.10 0.53 9.2
490 9.3 0.775 0.27 2.80 0.078 24.0 56.0 0.99840 3.31 0.67 10.6
575 12.3 0.270 0.49 3.10 0.079 28.0 46.0 0.99930 3.20 0.80 10.2
1051 8.5 0.460 0.59 1.40 0.414 16.0 45.0 0.99702 3.03 1.34 9.2
1212 6.8 0.650 0.02 2.10 0.078 8.0 15.0 0.99498 3.35 0.62 10.4

400 rows × 11 columns

In [11]:
dt_model = DecisionTreeClassifier()
In [12]:
dt_model.fit(x_train, y_train)
Out[12]:
DecisionTreeClassifier()
In [13]:
dt_model.predict(x_test)
Out[13]:
array([6, 3, 6, 6, 6, 5, 6, 6, 5, 3, 6, 6, 6, 5, 7, 4, 5, 5, 7, 6, 5, 7,
       5, 5, 6, 5, 8, 6, 5, 5, 5, 6, 6, 6, 6, 7, 6, 6, 5, 6, 6, 6, 7, 5,
       6, 6, 6, 6, 5, 6, 6, 8, 5, 5, 5, 5, 6, 5, 5, 6, 5, 6, 7, 5, 7, 5,
       5, 6, 5, 4, 6, 5, 5, 5, 6, 6, 7, 5, 6, 5, 6, 7, 6, 6, 5, 5, 5, 5,
       5, 6, 5, 5, 6, 4, 6, 6, 4, 6, 5, 4, 5, 5, 5, 6, 6, 5, 6, 5, 6, 5,
       5, 5, 5, 7, 7, 5, 6, 6, 5, 6, 6, 7, 7, 6, 7, 5, 6, 5, 6, 6, 6, 5,
       6, 5, 6, 6, 5, 3, 7, 7, 5, 5, 6, 6, 5, 5, 5, 4, 6, 7, 5, 5, 5, 6,
       5, 6, 6, 6, 5, 5, 5, 6, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6, 5, 6,
       5, 5, 6, 6, 5, 6, 7, 5, 6, 5, 6, 6, 4, 7, 5, 5, 5, 7, 6, 5, 7, 6,
       5, 8, 7, 5, 5, 5, 6, 7, 6, 6, 6, 6, 6, 5, 7, 5, 6, 5, 6, 5, 5, 6,
       6, 6, 7, 6, 5, 6, 5, 5, 7, 5, 5, 5, 7, 7, 5, 5, 5, 7, 6, 6, 5, 6,
       6, 5, 7, 6, 6, 7, 6, 5, 4, 7, 5, 6, 6, 5, 6, 6, 5, 6, 6, 5, 6, 6,
       5, 6, 6, 4, 6, 6, 5, 4, 6, 5, 5, 5, 7, 6, 5, 5, 5, 4, 5, 6, 5, 6,
       6, 5, 6, 6, 5, 6, 5, 7, 5, 6, 5, 6, 7, 6, 5, 6, 6, 5, 6, 5, 6, 5,
       6, 6, 6, 5, 6, 6, 6, 6, 7, 6, 5, 5, 6, 6, 6, 4, 6, 5, 6, 5, 6, 5,
       6, 5, 6, 5, 6, 6, 6, 5, 5, 5, 5, 7, 6, 6, 7, 4, 5, 6, 5, 6, 6, 6,
       5, 5, 6, 5, 7, 5, 6, 6, 5, 7, 5, 5, 7, 5, 7, 7, 6, 6, 5, 5, 5, 6,
       6, 6, 6, 6, 5, 5, 5, 6, 5, 6, 4, 5, 6, 5, 5, 6, 7, 6, 5, 6, 7, 6,
       6, 6, 6, 6], dtype=int64)
In [14]:
dt_model.score(x_test, y_test)
Out[14]:
0.625
In [15]:
dt_model.score(x_train, y_train)
Out[15]:
1.0
In [16]:
dt_en= DecisionTreeClassifier(criterion="entropy")
In [17]:
dt_en.fit(x_train, y_train)
Out[17]:
DecisionTreeClassifier(criterion='entropy')
In [18]:
dt_en.score(x_test, y_test)
Out[18]:
0.6325
In [19]:
outfile= open("dt_en_meta.dot", "w")
tree.export_graphviz(dt_en, out_file= outfile, feature_names= X.columns)
In [20]:
dir()
Out[20]:
['DecisionTreeClassifier',
 'GridSearchCV',
 'In',
 'Out',
 'ProfileReport',
 'X',
 '_',
 '_10',
 '_12',
 '_13',
 '_14',
 '_15',
 '_17',
 '_18',
 '_2',
 '_4',
 '_5',
 '_6',
 '_7',
 '_9',
 '__',
 '___',
 '__builtin__',
 '__builtins__',
 '__doc__',
 '__loader__',
 '__name__',
 '__package__',
 '__spec__',
 '__vsc_ipynb_file__',
 '_dh',
 '_i',
 '_i1',
 '_i10',
 '_i11',
 '_i12',
 '_i13',
 '_i14',
 '_i15',
 '_i16',
 '_i17',
 '_i18',
 '_i19',
 '_i2',
 '_i20',
 '_i3',
 '_i4',
 '_i5',
 '_i6',
 '_i7',
 '_i8',
 '_i9',
 '_ih',
 '_ii',
 '_iii',
 '_oh',
 'accuracy_score',
 'confusion_matrix',
 'df',
 'dt_en',
 'dt_model',
 'exit',
 'get_ipython',
 'np',
 'os',
 'outfile',
 'pd',
 'quit',
 'roc_auc_score',
 'roc_curve',
 'sys',
 'train_test_split',
 'tree',
 'x_test',
 'x_train',
 'y',
 'y_test',
 'y_train']

Decision Tree Part - II¶

In [21]:
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import accuracy_score, confusion_matrix, roc_auc_score, roc_curve
In [22]:
df.head()
Out[22]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol quality
0 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25.0 67.0 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15.0 54.0 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17.0 60.0 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
In [23]:
set(df.quality)
Out[23]:
{3, 4, 5, 6, 7, 8}
In [24]:
x= df.drop(columns= 'quality')
x
Out[24]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
0 7.4 0.700 0.00 1.9 0.076 11.0 34.0 0.99780 3.51 0.56 9.4
1 7.8 0.880 0.00 2.6 0.098 25.0 67.0 0.99680 3.20 0.68 9.8
2 7.8 0.760 0.04 2.3 0.092 15.0 54.0 0.99700 3.26 0.65 9.8
3 11.2 0.280 0.56 1.9 0.075 17.0 60.0 0.99800 3.16 0.58 9.8
4 7.4 0.700 0.00 1.9 0.076 11.0 34.0 0.99780 3.51 0.56 9.4
... ... ... ... ... ... ... ... ... ... ... ...
1594 6.2 0.600 0.08 2.0 0.090 32.0 44.0 0.99490 3.45 0.58 10.5
1595 5.9 0.550 0.10 2.2 0.062 39.0 51.0 0.99512 3.52 0.76 11.2
1596 6.3 0.510 0.13 2.3 0.076 29.0 40.0 0.99574 3.42 0.75 11.0
1597 5.9 0.645 0.12 2.0 0.075 32.0 44.0 0.99547 3.57 0.71 10.2
1598 6.0 0.310 0.47 3.6 0.067 18.0 42.0 0.99549 3.39 0.66 11.0

1599 rows × 11 columns

In [25]:
y= df.quality
y
Out[25]:
0       5
1       5
2       5
3       6
4       5
       ..
1594    5
1595    6
1596    6
1597    5
1598    6
Name: quality, Length: 1599, dtype: int64
In [26]:
x_train, x_test, y_train, y_test= train_test_split(x, y, test_size= 0.25, random_state= 30)
In [27]:
x_train
Out[27]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
1178 5.6 0.915 0.00 2.1 0.041 17.0 78.0 0.99346 3.68 0.73 11.4
1189 8.8 0.955 0.05 1.8 0.075 5.0 19.0 0.99616 3.30 0.44 9.6
161 7.6 0.680 0.02 1.3 0.072 9.0 20.0 0.99650 3.17 1.08 9.2
109 8.1 0.785 0.52 2.0 0.122 37.0 153.0 0.99690 3.21 0.69 9.3
961 7.1 0.560 0.14 1.6 0.078 7.0 18.0 0.99592 3.27 0.62 9.3
... ... ... ... ... ... ... ... ... ... ... ...
919 8.4 0.620 0.12 1.8 0.072 38.0 46.0 0.99504 3.38 0.89 11.8
1164 9.0 0.785 0.24 1.7 0.078 10.0 21.0 0.99692 3.29 0.67 10.0
500 7.8 0.520 0.25 1.9 0.081 14.0 38.0 0.99840 3.43 0.65 9.0
941 9.9 0.270 0.49 5.0 0.082 9.0 17.0 0.99484 3.19 0.52 12.5
421 6.6 0.840 0.03 2.3 0.059 32.0 48.0 0.99520 3.52 0.56 12.3

1199 rows × 11 columns

In [28]:
x_test
Out[28]:
fixed acidity volatile acidity citric acid residual sugar chlorides free sulfur dioxide total sulfur dioxide density pH sulphates alcohol
1147 10.0 0.410 0.45 6.20 0.071 6.0 14.0 0.99702 3.21 0.49 11.8
659 7.1 0.840 0.02 4.40 0.096 5.0 13.0 0.99700 3.41 0.57 11.0
871 6.9 0.560 0.03 1.50 0.086 36.0 46.0 0.99522 3.53 0.57 10.6
1333 9.1 0.775 0.22 2.20 0.079 12.0 48.0 0.99760 3.18 0.51 9.6
1411 6.4 0.470 0.40 2.40 0.071 8.0 19.0 0.99630 3.56 0.73 10.6
... ... ... ... ... ... ... ... ... ... ... ...
721 8.9 0.480 0.24 2.85 0.094 35.0 106.0 0.99820 3.10 0.53 9.2
490 9.3 0.775 0.27 2.80 0.078 24.0 56.0 0.99840 3.31 0.67 10.6
575 12.3 0.270 0.49 3.10 0.079 28.0 46.0 0.99930 3.20 0.80 10.2
1051 8.5 0.460 0.59 1.40 0.414 16.0 45.0 0.99702 3.03 1.34 9.2
1212 6.8 0.650 0.02 2.10 0.078 8.0 15.0 0.99498 3.35 0.62 10.4

400 rows × 11 columns

In [29]:
dt_model= DecisionTreeClassifier()
In [30]:
dt_model.fit(x_train, y_train)
Out[30]:
DecisionTreeClassifier()
In [31]:
import sklearn
import matplotlib.pyplot as plt
from sklearn import tree
%matplotlib inline
In [32]:
sklearn.__version__
Out[32]:
'1.0.2'
In [33]:
plt.figure(figsize=(20,20))
tree.plot_tree(dt_model, filled=True)
Out[33]:
[Text(0.5465270007459505, 0.9722222222222222, 'X[10] <= 10.35\ngini = 0.642\nsamples = 1199\nvalue = [8, 35, 512, 477, 153, 14]'),
 Text(0.3195632193094629, 0.9166666666666666, 'X[6] <= 95.5\ngini = 0.528\nsamples = 666\nvalue = [6, 20, 406, 209, 23, 2]'),
 Text(0.20178628516624042, 0.8611111111111112, 'X[9] <= 0.585\ngini = 0.554\nsamples = 584\nvalue = [6, 19, 332, 202, 23, 2]'),
 Text(0.07835144927536232, 0.8055555555555556, 'X[6] <= 90.5\ngini = 0.468\nsamples = 261\nvalue = [3, 14, 179, 63, 2, 0]'),
 Text(0.05536018755328218, 0.75, 'X[10] <= 9.075\ngini = 0.453\nsamples = 250\nvalue = [3, 14, 176, 55, 2, 0]'),
 Text(0.0196078431372549, 0.6944444444444444, 'X[6] <= 39.0\ngini = 0.604\nsamples = 15\nvalue = [0, 2, 6, 7, 0, 0]'),
 Text(0.01278772378516624, 0.6388888888888888, 'X[9] <= 0.54\ngini = 0.406\nsamples = 8\nvalue = [0, 1, 1, 6, 0, 0]'),
 Text(0.00937766410912191, 0.5833333333333334, 'X[9] <= 0.48\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1, 0, 0, 0]'),
 Text(0.005967604433077579, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.01278772378516624, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.01619778346121057, 0.5833333333333334, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 0, 6, 0, 0]'),
 Text(0.026427962489343565, 0.6388888888888888, 'X[9] <= 0.485\ngini = 0.449\nsamples = 7\nvalue = [0, 1, 5, 1, 0, 0]'),
 Text(0.023017902813299233, 0.5833333333333334, 'X[7] <= 0.997\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 0, 1, 0, 0]'),
 Text(0.0196078431372549, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.026427962489343565, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.029838022165387893, 0.5833333333333334, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 5, 0, 0, 0]'),
 Text(0.09111253196930946, 0.6944444444444444, 'X[10] <= 9.85\ngini = 0.432\nsamples = 235\nvalue = [3, 12, 170, 48, 2, 0]'),
 Text(0.06287297527706735, 0.6388888888888888, 'X[4] <= 0.08\ngini = 0.384\nsamples = 176\nvalue = [2, 11, 135, 27, 1, 0]'),
 Text(0.04475703324808184, 0.5833333333333334, 'X[0] <= 10.05\ngini = 0.497\nsamples = 83\nvalue = [1, 6, 55, 20, 1, 0]'),
 Text(0.03324808184143223, 0.5277777777777778, 'X[1] <= 0.42\ngini = 0.456\nsamples = 79\nvalue = [1, 3, 55, 19, 1, 0]'),
 Text(0.020460358056265986, 0.4722222222222222, 'X[9] <= 0.555\ngini = 0.469\nsamples = 8\nvalue = [0, 0, 3, 5, 0, 0]'),
 Text(0.017050298380221655, 0.4166666666666667, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 5, 0, 0]'),
 Text(0.023870417732310314, 0.4166666666666667, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.04603580562659847, 0.4722222222222222, 'X[1] <= 0.862\ngini = 0.423\nsamples = 71\nvalue = [1, 3, 52, 14, 1, 0]'),
 Text(0.030690537084398978, 0.4166666666666667, 'X[0] <= 7.65\ngini = 0.376\nsamples = 67\nvalue = [0, 1, 51, 14, 1, 0]'),
 Text(0.017050298380221655, 0.3611111111111111, 'X[7] <= 0.999\ngini = 0.208\nsamples = 34\nvalue = [0, 0, 30, 4, 0, 0]'),
 Text(0.013640238704177323, 0.3055555555555556, 'X[8] <= 3.565\ngini = 0.165\nsamples = 33\nvalue = [0, 0, 30, 3, 0, 0]'),
 Text(0.010230179028132993, 0.25, 'X[1] <= 0.515\ngini = 0.117\nsamples = 32\nvalue = [0, 0, 30, 2, 0, 0]'),
 Text(0.0068201193520886615, 0.19444444444444445, 'X[3] <= 1.95\ngini = 0.444\nsamples = 6\nvalue = [0, 0, 4, 2, 0, 0]'),
 Text(0.0034100596760443308, 0.1388888888888889, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.010230179028132993, 0.1388888888888889, 'X[5] <= 7.0\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.0068201193520886615, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.013640238704177323, 0.08333333333333333, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.013640238704177323, 0.19444444444444445, 'gini = 0.0\nsamples = 26\nvalue = [0, 0, 26, 0, 0, 0]'),
 Text(0.017050298380221655, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.020460358056265986, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.0443307757885763, 0.3611111111111111, 'X[6] <= 79.0\ngini = 0.501\nsamples = 33\nvalue = [0, 1, 21, 10, 1, 0]'),
 Text(0.04092071611253197, 0.3055555555555556, 'X[2] <= 0.195\ngini = 0.453\nsamples = 30\nvalue = [0, 1, 21, 7, 1, 0]'),
 Text(0.030690537084398978, 0.25, 'X[7] <= 0.996\ngini = 0.639\nsamples = 12\nvalue = [0, 1, 5, 5, 1, 0]'),
 Text(0.020460358056265986, 0.19444444444444445, 'X[6] <= 36.0\ngini = 0.278\nsamples = 6\nvalue = [0, 0, 5, 1, 0, 0]'),
 Text(0.017050298380221655, 0.1388888888888889, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.023870417732310314, 0.1388888888888889, 'X[9] <= 0.465\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.020460358056265986, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.027280477408354646, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.04092071611253197, 0.19444444444444445, 'X[6] <= 22.5\ngini = 0.5\nsamples = 6\nvalue = [0, 1, 0, 4, 1, 0]'),
 Text(0.03751065643648764, 0.1388888888888889, 'X[6] <= 16.0\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 0, 0, 1, 0]'),
 Text(0.03410059676044331, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.04092071611253197, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.0443307757885763, 0.1388888888888889, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 4, 0, 0]'),
 Text(0.05115089514066496, 0.25, 'X[1] <= 0.767\ngini = 0.198\nsamples = 18\nvalue = [0, 0, 16, 2, 0, 0]'),
 Text(0.04774083546462063, 0.19444444444444445, 'gini = 0.0\nsamples = 16\nvalue = [0, 0, 16, 0, 0, 0]'),
 Text(0.05456095481670929, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.04774083546462063, 0.3055555555555556, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.061381074168797956, 0.4166666666666667, 'X[0] <= 7.75\ngini = 0.625\nsamples = 4\nvalue = [1, 2, 1, 0, 0, 0]'),
 Text(0.057971014492753624, 0.3611111111111111, 'X[3] <= 2.3\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1, 0, 0, 0]'),
 Text(0.05456095481670929, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.061381074168797956, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.06479113384484228, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0, 0, 0, 0]'),
 Text(0.056265984654731455, 0.5277777777777778, 'X[10] <= 9.7\ngini = 0.375\nsamples = 4\nvalue = [0, 3, 0, 1, 0, 0]'),
 Text(0.05285592497868713, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0, 0, 0, 0]'),
 Text(0.059676044330775786, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.08098891730605286, 0.5833333333333334, 'X[8] <= 3.255\ngini = 0.251\nsamples = 93\nvalue = [1, 5, 80, 7, 0, 0]'),
 Text(0.07757885763000852, 0.5277777777777778, 'gini = 0.0\nsamples = 42\nvalue = [0, 0, 42, 0, 0, 0]'),
 Text(0.08439897698209718, 0.5277777777777778, 'X[1] <= 0.53\ngini = 0.416\nsamples = 51\nvalue = [1, 5, 38, 7, 0, 0]'),
 Text(0.07161125319693094, 0.4722222222222222, 'X[4] <= 0.089\ngini = 0.1\nsamples = 19\nvalue = [0, 0, 18, 1, 0, 0]'),
 Text(0.06820119352088662, 0.4166666666666667, 'gini = 0.0\nsamples = 17\nvalue = [0, 0, 17, 0, 0, 0]'),
 Text(0.07502131287297528, 0.4166666666666667, 'X[0] <= 6.1\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.07161125319693094, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.0784313725490196, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.09718670076726342, 0.4722222222222222, 'X[0] <= 8.95\ngini = 0.549\nsamples = 32\nvalue = [1, 5, 20, 6, 0, 0]'),
 Text(0.0937766410912191, 0.4166666666666667, 'X[1] <= 0.647\ngini = 0.509\nsamples = 30\nvalue = [1, 5, 20, 4, 0, 0]'),
 Text(0.08525149190110827, 0.3611111111111111, 'X[8] <= 3.365\ngini = 0.593\nsamples = 9\nvalue = [0, 1, 4, 4, 0, 0]'),
 Text(0.08184143222506395, 0.3055555555555556, 'X[5] <= 12.5\ngini = 0.32\nsamples = 5\nvalue = [0, 1, 4, 0, 0, 0]'),
 Text(0.0784313725490196, 0.25, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.08525149190110827, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.0886615515771526, 0.3055555555555556, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 4, 0, 0]'),
 Text(0.10230179028132992, 0.3611111111111111, 'X[10] <= 9.55\ngini = 0.381\nsamples = 21\nvalue = [1, 4, 16, 0, 0, 0]'),
 Text(0.09548167092924126, 0.3055555555555556, 'X[10] <= 9.25\ngini = 0.133\nsamples = 14\nvalue = [0, 1, 13, 0, 0, 0]'),
 Text(0.09207161125319693, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.0988917306052856, 0.25, 'gini = 0.0\nsamples = 13\nvalue = [0, 0, 13, 0, 0, 0]'),
 Text(0.10912190963341858, 0.3055555555555556, 'X[8] <= 3.38\ngini = 0.612\nsamples = 7\nvalue = [1, 3, 3, 0, 0, 0]'),
 Text(0.10571184995737426, 0.25, 'X[7] <= 0.996\ngini = 0.375\nsamples = 4\nvalue = [1, 3, 0, 0, 0, 0]'),
 Text(0.10230179028132992, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.10912190963341858, 0.19444444444444445, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0, 0, 0, 0]'),
 Text(0.11253196930946291, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.10059676044330776, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.11935208866155157, 0.6388888888888888, 'X[9] <= 0.485\ngini = 0.521\nsamples = 59\nvalue = [1, 1, 35, 21, 1, 0]'),
 Text(0.10912190963341858, 0.5833333333333334, 'X[3] <= 1.3\ngini = 0.227\nsamples = 16\nvalue = [0, 0, 14, 1, 1, 0]'),
 Text(0.10571184995737426, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.11253196930946291, 0.5277777777777778, 'X[9] <= 0.425\ngini = 0.124\nsamples = 15\nvalue = [0, 0, 14, 1, 0, 0]'),
 Text(0.10912190963341858, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.11594202898550725, 0.4722222222222222, 'gini = 0.0\nsamples = 14\nvalue = [0, 0, 14, 0, 0, 0]'),
 Text(0.12958226768968456, 0.5833333333333334, 'X[0] <= 6.95\ngini = 0.544\nsamples = 43\nvalue = [1, 1, 21, 20, 0, 0]'),
 Text(0.12617220801364024, 0.5277777777777778, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 5, 0, 0, 0]'),
 Text(0.1329923273657289, 0.5277777777777778, 'X[4] <= 0.082\ngini = 0.544\nsamples = 38\nvalue = [1, 1, 16, 20, 0, 0]'),
 Text(0.12276214833759591, 0.4722222222222222, 'X[7] <= 0.996\ngini = 0.525\nsamples = 25\nvalue = [1, 0, 14, 10, 0, 0]'),
 Text(0.11935208866155157, 0.4166666666666667, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 6, 0, 0, 0]'),
 Text(0.12617220801364024, 0.4166666666666667, 'X[8] <= 3.07\ngini = 0.543\nsamples = 19\nvalue = [1, 0, 8, 10, 0, 0]'),
 Text(0.12276214833759591, 0.3611111111111111, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.12958226768968456, 0.3611111111111111, 'X[8] <= 3.385\ngini = 0.508\nsamples = 16\nvalue = [1, 0, 5, 10, 0, 0]'),
 Text(0.12617220801364024, 0.3055555555555556, 'X[3] <= 2.55\ngini = 0.444\nsamples = 15\nvalue = [0, 0, 5, 10, 0, 0]'),
 Text(0.11935208866155157, 0.25, 'X[2] <= 0.265\ngini = 0.32\nsamples = 10\nvalue = [0, 0, 2, 8, 0, 0]'),
 Text(0.11594202898550725, 0.19444444444444445, 'gini = 0.0\nsamples = 7\nvalue = [0, 0, 0, 7, 0, 0]'),
 Text(0.12276214833759591, 0.19444444444444445, 'X[3] <= 2.05\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.11935208866155157, 0.1388888888888889, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.12617220801364024, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.1329923273657289, 0.25, 'X[2] <= 0.295\ngini = 0.48\nsamples = 5\nvalue = [0, 0, 3, 2, 0, 0]'),
 Text(0.12958226768968456, 0.19444444444444445, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.13640238704177324, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.1329923273657289, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.1432225063938619, 0.4722222222222222, 'X[2] <= 0.305\ngini = 0.379\nsamples = 13\nvalue = [0, 1, 2, 10, 0, 0]'),
 Text(0.13981244671781756, 0.4166666666666667, 'X[6] <= 16.0\ngini = 0.165\nsamples = 11\nvalue = [0, 1, 0, 10, 0, 0]'),
 Text(0.13640238704177324, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.1432225063938619, 0.3611111111111111, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.1466325660699062, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.10134271099744245, 0.75, 'X[1] <= 0.648\ngini = 0.397\nsamples = 11\nvalue = [0, 0, 3, 8, 0, 0]'),
 Text(0.09793265132139813, 0.6944444444444444, 'gini = 0.0\nsamples = 8\nvalue = [0, 0, 0, 8, 0, 0]'),
 Text(0.10475277067348679, 0.6944444444444444, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.3252211210571185, 0.8055555555555556, 'X[1] <= 0.555\ngini = 0.586\nsamples = 323\nvalue = [3, 5, 153, 139, 21, 2]'),
 Text(0.2711796675191816, 0.75, 'X[4] <= 0.098\ngini = 0.59\nsamples = 176\nvalue = [1, 1, 61, 93, 18, 2]'),
 Text(0.22692881500426257, 0.6944444444444444, 'X[9] <= 0.645\ngini = 0.566\nsamples = 137\nvalue = [0, 0, 38, 80, 17, 2]'),
 Text(0.17774936061381075, 0.6388888888888888, 'X[3] <= 1.95\ngini = 0.548\nsamples = 56\nvalue = [0, 0, 28, 25, 3, 0]'),
 Text(0.1636828644501279, 0.5833333333333334, 'X[8] <= 3.405\ngini = 0.461\nsamples = 16\nvalue = [0, 0, 4, 11, 1, 0]'),
 Text(0.16027280477408354, 0.5277777777777778, 'X[1] <= 0.525\ngini = 0.58\nsamples = 10\nvalue = [0, 0, 4, 5, 1, 0]'),
 Text(0.1568627450980392, 0.4722222222222222, 'X[8] <= 3.18\ngini = 0.5\nsamples = 6\nvalue = [0, 0, 4, 1, 1, 0]'),
 Text(0.1534526854219949, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.16027280477408354, 0.4166666666666667, 'X[0] <= 7.55\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 4, 0, 1, 0]'),
 Text(0.1568627450980392, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.1636828644501279, 0.3611111111111111, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.1636828644501279, 0.4722222222222222, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 4, 0, 0]'),
 Text(0.16709292412617222, 0.5277777777777778, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 0, 6, 0, 0]'),
 Text(0.1918158567774936, 0.5833333333333334, 'X[5] <= 14.0\ngini = 0.515\nsamples = 40\nvalue = [0, 0, 24, 14, 2, 0]'),
 Text(0.17391304347826086, 0.5277777777777778, 'X[5] <= 5.5\ngini = 0.571\nsamples = 14\nvalue = [0, 0, 4, 8, 2, 0]'),
 Text(0.17050298380221654, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.1773231031543052, 0.4722222222222222, 'X[10] <= 9.45\ngini = 0.43\nsamples = 11\nvalue = [0, 0, 1, 8, 2, 0]'),
 Text(0.17391304347826086, 0.4166666666666667, 'gini = 0.0\nsamples = 8\nvalue = [0, 0, 0, 8, 0, 0]'),
 Text(0.18073316283034954, 0.4166666666666667, 'X[10] <= 9.6\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 0, 2, 0]'),
 Text(0.1773231031543052, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.18414322250639387, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.20971867007672634, 0.5277777777777778, 'X[1] <= 0.545\ngini = 0.355\nsamples = 26\nvalue = [0, 0, 20, 6, 0, 0]'),
 Text(0.20119352088661552, 0.4722222222222222, 'X[6] <= 82.0\ngini = 0.287\nsamples = 23\nvalue = [0, 0, 19, 4, 0, 0]'),
 Text(0.19437340153452684, 0.4166666666666667, 'X[3] <= 6.7\ngini = 0.18\nsamples = 20\nvalue = [0, 0, 18, 2, 0, 0]'),
 Text(0.19096334185848252, 0.3611111111111111, 'X[4] <= 0.084\ngini = 0.1\nsamples = 19\nvalue = [0, 0, 18, 1, 0, 0]'),
 Text(0.1875532821824382, 0.3055555555555556, 'gini = 0.0\nsamples = 16\nvalue = [0, 0, 16, 0, 0, 0]'),
 Text(0.19437340153452684, 0.3055555555555556, 'X[6] <= 41.5\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.19096334185848252, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.1977834612105712, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.1977834612105712, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.20801364023870417, 0.4166666666666667, 'X[6] <= 89.0\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.20460358056265984, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.21142369991474852, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.21824381926683717, 0.4722222222222222, 'X[10] <= 9.55\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.21483375959079284, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.2216538789428815, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.2761082693947144, 0.6388888888888888, 'X[4] <= 0.094\ngini = 0.493\nsamples = 81\nvalue = [0, 0, 10, 55, 14, 2]'),
 Text(0.2623614663256607, 0.5833333333333334, 'X[3] <= 2.35\ngini = 0.459\nsamples = 76\nvalue = [0, 0, 9, 54, 11, 2]'),
 Text(0.25191815856777494, 0.5277777777777778, 'X[0] <= 11.7\ngini = 0.555\nsamples = 55\nvalue = [0, 0, 8, 34, 11, 2]'),
 Text(0.2412617220801364, 0.4722222222222222, 'X[6] <= 48.5\ngini = 0.468\nsamples = 47\nvalue = [0, 0, 6, 33, 7, 1]'),
 Text(0.23017902813299232, 0.4166666666666667, 'X[7] <= 0.997\ngini = 0.359\nsamples = 38\nvalue = [0, 0, 3, 30, 4, 1]'),
 Text(0.21824381926683717, 0.3611111111111111, 'X[5] <= 15.5\ngini = 0.542\nsamples = 12\nvalue = [0, 0, 0, 7, 4, 1]'),
 Text(0.21483375959079284, 0.3055555555555556, 'X[9] <= 0.745\ngini = 0.571\nsamples = 7\nvalue = [0, 0, 0, 2, 4, 1]'),
 Text(0.21142369991474852, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 3, 0]'),
 Text(0.21824381926683717, 0.25, 'X[5] <= 10.0\ngini = 0.625\nsamples = 4\nvalue = [0, 0, 0, 2, 1, 1]'),
 Text(0.21483375959079284, 0.19444444444444445, 'X[4] <= 0.059\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 0, 1, 1]'),
 Text(0.21142369991474852, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.21824381926683717, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.2216538789428815, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.2216538789428815, 0.3055555555555556, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 5, 0, 0]'),
 Text(0.2421142369991475, 0.3611111111111111, 'X[7] <= 0.999\ngini = 0.204\nsamples = 26\nvalue = [0, 0, 3, 23, 0, 0]'),
 Text(0.23870417732310314, 0.3055555555555556, 'X[3] <= 2.15\ngini = 0.147\nsamples = 25\nvalue = [0, 0, 2, 23, 0, 0]'),
 Text(0.2318840579710145, 0.25, 'X[4] <= 0.087\ngini = 0.087\nsamples = 22\nvalue = [0, 0, 1, 21, 0, 0]'),
 Text(0.22847399829497017, 0.19444444444444445, 'gini = 0.0\nsamples = 19\nvalue = [0, 0, 0, 19, 0, 0]'),
 Text(0.23529411764705882, 0.19444444444444445, 'X[2] <= 0.405\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.2318840579710145, 0.1388888888888889, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.23870417732310314, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.24552429667519182, 0.25, 'X[1] <= 0.405\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.2421142369991475, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.24893435635123615, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.24552429667519182, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.25234441602728047, 0.4166666666666667, 'X[2] <= 0.29\ngini = 0.667\nsamples = 9\nvalue = [0, 0, 3, 3, 3, 0]'),
 Text(0.24893435635123615, 0.3611111111111111, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.2557544757033248, 0.3611111111111111, 'X[6] <= 55.5\ngini = 0.5\nsamples = 6\nvalue = [0, 0, 0, 3, 3, 0]'),
 Text(0.25234441602728047, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.2591645353793691, 0.3055555555555556, 'X[7] <= 0.997\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 0, 3, 1, 0]'),
 Text(0.2557544757033248, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.2625745950554135, 0.25, 'X[6] <= 70.0\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 1, 1, 0]'),
 Text(0.2591645353793691, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.2659846547314578, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.2625745950554135, 0.4722222222222222, 'X[1] <= 0.295\ngini = 0.656\nsamples = 8\nvalue = [0, 0, 2, 1, 4, 1]'),
 Text(0.2591645353793691, 0.4166666666666667, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 0, 4, 0]'),
 Text(0.2659846547314578, 0.4166666666666667, 'X[8] <= 2.935\ngini = 0.625\nsamples = 4\nvalue = [0, 0, 2, 1, 0, 1]'),
 Text(0.2625745950554135, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.2693947144075021, 0.3611111111111111, 'X[0] <= 12.05\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.2659846547314578, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.2728047740835465, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.2728047740835465, 0.5277777777777778, 'X[9] <= 0.665\ngini = 0.091\nsamples = 21\nvalue = [0, 0, 1, 20, 0, 0]'),
 Text(0.2693947144075021, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.27621483375959077, 0.4722222222222222, 'gini = 0.0\nsamples = 20\nvalue = [0, 0, 0, 20, 0, 0]'),
 Text(0.2898550724637681, 0.5833333333333334, 'X[9] <= 0.69\ngini = 0.56\nsamples = 5\nvalue = [0, 0, 1, 1, 3, 0]'),
 Text(0.2864450127877238, 0.5277777777777778, 'X[0] <= 8.95\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.2830349531116795, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.2898550724637681, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.2932651321398124, 0.5277777777777778, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 3, 0]'),
 Text(0.3154305200341006, 0.6944444444444444, 'X[5] <= 6.5\ngini = 0.539\nsamples = 39\nvalue = [1, 1, 23, 13, 1, 0]'),
 Text(0.3069053708439898, 0.6388888888888888, 'X[6] <= 20.0\ngini = 0.521\nsamples = 13\nvalue = [0, 0, 4, 8, 1, 0]'),
 Text(0.3034953111679454, 0.5833333333333334, 'X[5] <= 5.5\ngini = 0.594\nsamples = 8\nvalue = [0, 0, 4, 3, 1, 0]'),
 Text(0.30008525149190113, 0.5277777777777778, 'X[2] <= 0.61\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 4, 0, 1, 0]'),
 Text(0.2966751918158568, 0.4722222222222222, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.3034953111679454, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.3069053708439898, 0.5277777777777778, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.3103154305200341, 0.5833333333333334, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 5, 0, 0]'),
 Text(0.32395566922421143, 0.6388888888888888, 'X[5] <= 30.0\ngini = 0.426\nsamples = 26\nvalue = [1, 1, 19, 5, 0, 0]'),
 Text(0.3171355498721228, 0.5833333333333334, 'X[10] <= 9.25\ngini = 0.172\nsamples = 21\nvalue = [0, 0, 19, 2, 0, 0]'),
 Text(0.3137254901960784, 0.5277777777777778, 'X[6] <= 59.0\ngini = 0.48\nsamples = 5\nvalue = [0, 0, 3, 2, 0, 0]'),
 Text(0.3103154305200341, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.3171355498721228, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.3205456095481671, 0.5277777777777778, 'gini = 0.0\nsamples = 16\nvalue = [0, 0, 16, 0, 0, 0]'),
 Text(0.3307757885763001, 0.5833333333333334, 'X[9] <= 0.815\ngini = 0.56\nsamples = 5\nvalue = [1, 1, 0, 3, 0, 0]'),
 Text(0.3273657289002558, 0.5277777777777778, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.33418584825234443, 0.5277777777777778, 'X[0] <= 11.0\ngini = 0.5\nsamples = 2\nvalue = [1, 1, 0, 0, 0, 0]'),
 Text(0.3307757885763001, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.3375959079283887, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.3792625745950554, 0.75, 'X[3] <= 1.95\ngini = 0.509\nsamples = 147\nvalue = [2, 4, 92, 46, 3, 0]'),
 Text(0.35294117647058826, 0.6944444444444444, 'X[10] <= 9.85\ngini = 0.388\nsamples = 54\nvalue = [1, 2, 41, 10, 0, 0]'),
 Text(0.3410059676044331, 0.6388888888888888, 'X[5] <= 3.5\ngini = 0.224\nsamples = 40\nvalue = [0, 1, 35, 4, 0, 0]'),
 Text(0.3375959079283887, 0.5833333333333334, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.34441602728047743, 0.5833333333333334, 'X[3] <= 1.4\ngini = 0.148\nsamples = 38\nvalue = [0, 1, 35, 2, 0, 0]'),
 Text(0.3410059676044331, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.34782608695652173, 0.5277777777777778, 'X[2] <= 0.595\ngini = 0.102\nsamples = 37\nvalue = [0, 0, 35, 2, 0, 0]'),
 Text(0.34441602728047743, 0.4722222222222222, 'X[5] <= 26.5\ngini = 0.054\nsamples = 36\nvalue = [0, 0, 35, 1, 0, 0]'),
 Text(0.3410059676044331, 0.4166666666666667, 'gini = 0.0\nsamples = 32\nvalue = [0, 0, 32, 0, 0, 0]'),
 Text(0.34782608695652173, 0.4166666666666667, 'X[9] <= 0.775\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 3, 1, 0, 0]'),
 Text(0.34441602728047743, 0.3611111111111111, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.3512361466325661, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.3512361466325661, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.3648763853367434, 0.6388888888888888, 'X[1] <= 0.683\ngini = 0.622\nsamples = 14\nvalue = [1, 1, 6, 6, 0, 0]'),
 Text(0.35805626598465473, 0.5833333333333334, 'X[3] <= 1.6\ngini = 0.245\nsamples = 7\nvalue = [0, 1, 0, 6, 0, 0]'),
 Text(0.3546462063086104, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.3614663256606991, 0.5277777777777778, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 0, 6, 0, 0]'),
 Text(0.37169650468883203, 0.5833333333333334, 'X[5] <= 8.0\ngini = 0.245\nsamples = 7\nvalue = [1, 0, 6, 0, 0, 0]'),
 Text(0.36828644501278773, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.3751065643648764, 0.5277777777777778, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 6, 0, 0, 0]'),
 Text(0.40558397271952257, 0.6944444444444444, 'X[6] <= 82.5\ngini = 0.548\nsamples = 93\nvalue = [1, 2, 51, 36, 3, 0]'),
 Text(0.40217391304347827, 0.6388888888888888, 'X[0] <= 6.85\ngini = 0.564\nsamples = 84\nvalue = [1, 2, 42, 36, 3, 0]'),
 Text(0.3853367433930094, 0.5833333333333334, 'X[1] <= 0.745\ngini = 0.245\nsamples = 7\nvalue = [0, 1, 6, 0, 0, 0]'),
 Text(0.38192668371696503, 0.5277777777777778, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 6, 0, 0, 0]'),
 Text(0.3887468030690537, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.41901108269394716, 0.5833333333333334, 'X[7] <= 0.997\ngini = 0.561\nsamples = 77\nvalue = [1, 1, 36, 36, 3, 0]'),
 Text(0.3955669224211424, 0.5277777777777778, 'X[1] <= 0.84\ngini = 0.446\nsamples = 11\nvalue = [0, 1, 1, 8, 1, 0]'),
 Text(0.3887468030690537, 0.4722222222222222, 'X[9] <= 0.605\ngini = 0.198\nsamples = 9\nvalue = [0, 0, 1, 8, 0, 0]'),
 Text(0.3853367433930094, 0.4166666666666667, 'gini = 0.0\nsamples = 7\nvalue = [0, 0, 0, 7, 0, 0]'),
 Text(0.39215686274509803, 0.4166666666666667, 'X[2] <= 0.26\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.3887468030690537, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.3955669224211424, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.40238704177323104, 0.4722222222222222, 'X[2] <= 0.08\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 0, 0, 1, 0]'),
 Text(0.3989769820971867, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.4057971014492754, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.4424552429667519, 0.5277777777777778, 'X[2] <= 0.26\ngini = 0.538\nsamples = 66\nvalue = [1, 0, 35, 28, 2, 0]'),
 Text(0.42455242966751916, 0.4722222222222222, 'X[8] <= 3.275\ngini = 0.486\nsamples = 50\nvalue = [0, 0, 31, 18, 1, 0]'),
 Text(0.41261722080136404, 0.4166666666666667, 'X[9] <= 0.705\ngini = 0.133\nsamples = 14\nvalue = [0, 0, 13, 1, 0, 0]'),
 Text(0.4092071611253197, 0.3611111111111111, 'gini = 0.0\nsamples = 11\nvalue = [0, 0, 11, 0, 0, 0]'),
 Text(0.41602728047740833, 0.3611111111111111, 'X[10] <= 9.7\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.41261722080136404, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.4194373401534527, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.43648763853367434, 0.4166666666666667, 'X[10] <= 9.55\ngini = 0.526\nsamples = 36\nvalue = [0, 0, 18, 17, 1, 0]'),
 Text(0.4296675191815857, 0.3611111111111111, 'X[9] <= 0.645\ngini = 0.337\nsamples = 14\nvalue = [0, 0, 3, 11, 0, 0]'),
 Text(0.42625745950554134, 0.3055555555555556, 'X[3] <= 2.45\ngini = 0.5\nsamples = 6\nvalue = [0, 0, 3, 3, 0, 0]'),
 Text(0.42284739982949704, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.4296675191815857, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.43307757885763, 0.3055555555555556, 'gini = 0.0\nsamples = 8\nvalue = [0, 0, 0, 8, 0, 0]'),
 Text(0.443307757885763, 0.3611111111111111, 'X[8] <= 3.29\ngini = 0.459\nsamples = 22\nvalue = [0, 0, 15, 6, 1, 0]'),
 Text(0.4398976982097187, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.44671781756180734, 0.3055555555555556, 'X[7] <= 0.997\ngini = 0.395\nsamples = 20\nvalue = [0, 0, 15, 4, 1, 0]'),
 Text(0.443307757885763, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.45012787723785164, 0.25, 'X[9] <= 0.88\ngini = 0.332\nsamples = 19\nvalue = [0, 0, 15, 4, 0, 0]'),
 Text(0.443307757885763, 0.19444444444444445, 'X[7] <= 0.997\ngini = 0.219\nsamples = 16\nvalue = [0, 0, 14, 2, 0, 0]'),
 Text(0.4398976982097187, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.44671781756180734, 0.1388888888888889, 'X[9] <= 0.745\ngini = 0.124\nsamples = 15\nvalue = [0, 0, 14, 1, 0, 0]'),
 Text(0.443307757885763, 0.08333333333333333, 'gini = 0.0\nsamples = 12\nvalue = [0, 0, 12, 0, 0, 0]'),
 Text(0.45012787723785164, 0.08333333333333333, 'X[1] <= 0.64\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.44671781756180734, 0.027777777777777776, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.453537936913896, 0.027777777777777776, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.45694799658994034, 0.19444444444444445, 'X[10] <= 10.1\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.453537936913896, 0.1388888888888889, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.46035805626598464, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.46035805626598464, 0.4722222222222222, 'X[4] <= 0.078\ngini = 0.539\nsamples = 16\nvalue = [1, 0, 4, 10, 1, 0]'),
 Text(0.45694799658994034, 0.4166666666666667, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.463768115942029, 0.4166666666666667, 'X[4] <= 0.114\ngini = 0.391\nsamples = 13\nvalue = [1, 0, 1, 10, 1, 0]'),
 Text(0.45694799658994034, 0.3611111111111111, 'X[3] <= 4.3\ngini = 0.165\nsamples = 11\nvalue = [0, 0, 0, 10, 1, 0]'),
 Text(0.453537936913896, 0.3055555555555556, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.46035805626598464, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.47058823529411764, 0.3611111111111111, 'X[8] <= 3.075\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 1, 0, 0, 0]'),
 Text(0.46717817561807334, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.473998294970162, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.4089940323955669, 0.6388888888888888, 'gini = 0.0\nsamples = 9\nvalue = [0, 0, 9, 0, 0, 0]'),
 Text(0.4373401534526854, 0.8611111111111112, 'X[8] <= 2.935\ngini = 0.178\nsamples = 82\nvalue = [0, 1, 74, 7, 0, 0]'),
 Text(0.4288150042625746, 0.8055555555555556, 'X[9] <= 1.965\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 1, 3, 0, 0]'),
 Text(0.4254049445865303, 0.75, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.4322250639386189, 0.75, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.4458653026427962, 0.8055555555555556, 'X[3] <= 1.55\ngini = 0.121\nsamples = 78\nvalue = [0, 1, 73, 4, 0, 0]'),
 Text(0.4390451832907076, 0.75, 'X[2] <= 0.285\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1, 0, 0, 0]'),
 Text(0.4356351236146633, 0.6944444444444444, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.4424552429667519, 0.6944444444444444, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.45268542199488493, 0.75, 'X[6] <= 109.5\ngini = 0.1\nsamples = 76\nvalue = [0, 0, 72, 4, 0, 0]'),
 Text(0.4492753623188406, 0.6944444444444444, 'X[8] <= 3.175\ngini = 0.252\nsamples = 27\nvalue = [0, 0, 23, 4, 0, 0]'),
 Text(0.4424552429667519, 0.6388888888888888, 'X[0] <= 8.05\ngini = 0.48\nsamples = 5\nvalue = [0, 0, 3, 2, 0, 0]'),
 Text(0.4390451832907076, 0.5833333333333334, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.4458653026427962, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.4560954816709292, 0.6388888888888888, 'X[1] <= 0.545\ngini = 0.165\nsamples = 22\nvalue = [0, 0, 20, 2, 0, 0]'),
 Text(0.45268542199488493, 0.5833333333333334, 'X[5] <= 20.0\ngini = 0.444\nsamples = 6\nvalue = [0, 0, 4, 2, 0, 0]'),
 Text(0.4492753623188406, 0.5277777777777778, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.4560954816709292, 0.5277777777777778, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.4595055413469736, 0.5833333333333334, 'gini = 0.0\nsamples = 16\nvalue = [0, 0, 16, 0, 0, 0]'),
 Text(0.4560954816709292, 0.6944444444444444, 'gini = 0.0\nsamples = 49\nvalue = [0, 0, 49, 0, 0, 0]'),
 Text(0.7734907821824382, 0.9166666666666666, 'X[10] <= 11.55\ngini = 0.647\nsamples = 533\nvalue = [2, 15, 106, 268, 130, 12]'),
 Text(0.6237079070758739, 0.8611111111111112, 'X[1] <= 0.405\ngini = 0.629\nsamples = 356\nvalue = [2, 13, 96, 186, 55, 4]'),
 Text(0.5468883205456095, 0.8055555555555556, 'X[9] <= 0.735\ngini = 0.653\nsamples = 118\nvalue = [0, 1, 20, 53, 40, 4]'),
 Text(0.4982949701619778, 0.75, 'X[1] <= 0.287\ngini = 0.627\nsamples = 61\nvalue = [0, 1, 13, 33, 11, 3]'),
 Text(0.47655583972719523, 0.6944444444444444, 'X[4] <= 0.075\ngini = 0.64\nsamples = 15\nvalue = [0, 0, 7, 4, 4, 0]'),
 Text(0.4697357203751066, 0.6388888888888888, 'X[9] <= 0.68\ngini = 0.594\nsamples = 8\nvalue = [0, 0, 1, 3, 4, 0]'),
 Text(0.4663256606990622, 0.5833333333333334, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 0, 4, 0]'),
 Text(0.4731457800511509, 0.5833333333333334, 'X[6] <= 22.5\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 1, 3, 0, 0]'),
 Text(0.4697357203751066, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.47655583972719523, 0.5277777777777778, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.4833759590792839, 0.6388888888888888, 'X[6] <= 13.5\ngini = 0.245\nsamples = 7\nvalue = [0, 0, 6, 1, 0, 0]'),
 Text(0.4799658994032396, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.48678601875532823, 0.5833333333333334, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 6, 0, 0, 0]'),
 Text(0.5200341005967605, 0.6944444444444444, 'X[8] <= 3.285\ngini = 0.558\nsamples = 46\nvalue = [0, 1, 6, 29, 7, 3]'),
 Text(0.5021312872975278, 0.6388888888888888, 'X[8] <= 3.145\ngini = 0.656\nsamples = 28\nvalue = [0, 0, 4, 14, 7, 3]'),
 Text(0.4936061381074169, 0.5833333333333334, 'X[4] <= 0.097\ngini = 0.292\nsamples = 12\nvalue = [0, 0, 1, 10, 1, 0]'),
 Text(0.49019607843137253, 0.5277777777777778, 'X[9] <= 0.715\ngini = 0.165\nsamples = 11\nvalue = [0, 0, 0, 10, 1, 0]'),
 Text(0.48678601875532823, 0.4722222222222222, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.4936061381074169, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.49701619778346123, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.5106564364876386, 0.5833333333333334, 'X[7] <= 0.995\ngini = 0.727\nsamples = 16\nvalue = [0, 0, 3, 4, 6, 3]'),
 Text(0.5038363171355499, 0.5277777777777778, 'X[5] <= 16.0\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 0, 0, 4, 1]'),
 Text(0.5004262574595055, 0.4722222222222222, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 0, 4, 0]'),
 Text(0.5072463768115942, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.5174765558397272, 0.5277777777777778, 'X[9] <= 0.66\ngini = 0.727\nsamples = 11\nvalue = [0, 0, 3, 4, 2, 2]'),
 Text(0.5140664961636828, 0.4722222222222222, 'X[9] <= 0.605\ngini = 0.719\nsamples = 8\nvalue = [0, 0, 3, 1, 2, 2]'),
 Text(0.5072463768115942, 0.4166666666666667, 'X[5] <= 8.5\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 3, 1, 0, 0]'),
 Text(0.5038363171355499, 0.3611111111111111, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.5106564364876386, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.5208866155157715, 0.4166666666666667, 'X[10] <= 10.9\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 0, 0, 2, 2]'),
 Text(0.5174765558397272, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.5242966751918159, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 0, 2]'),
 Text(0.5208866155157715, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.5379369138959932, 0.6388888888888888, 'X[6] <= 102.5\ngini = 0.29\nsamples = 18\nvalue = [0, 1, 2, 15, 0, 0]'),
 Text(0.5345268542199488, 0.5833333333333334, 'X[10] <= 10.8\ngini = 0.208\nsamples = 17\nvalue = [0, 0, 2, 15, 0, 0]'),
 Text(0.5311167945439045, 0.5277777777777778, 'X[5] <= 8.5\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 2, 2, 0, 0]'),
 Text(0.5277067348678602, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.5345268542199488, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.5379369138959932, 0.5277777777777778, 'gini = 0.0\nsamples = 13\nvalue = [0, 0, 0, 13, 0, 0]'),
 Text(0.5413469735720375, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.5954816709292413, 0.75, 'X[6] <= 104.5\ngini = 0.603\nsamples = 57\nvalue = [0, 0, 7, 20, 29, 1]'),
 Text(0.592071611253197, 0.6944444444444444, 'X[7] <= 0.998\ngini = 0.569\nsamples = 54\nvalue = [0, 0, 4, 20, 29, 1]'),
 Text(0.578005115089514, 0.6388888888888888, 'X[8] <= 3.395\ngini = 0.623\nsamples = 33\nvalue = [0, 0, 4, 15, 13, 1]'),
 Text(0.5601023017902813, 0.5833333333333334, 'X[4] <= 0.061\ngini = 0.58\nsamples = 24\nvalue = [0, 0, 3, 14, 6, 1]'),
 Text(0.5447570332480819, 0.5277777777777778, 'X[3] <= 1.9\ngini = 0.667\nsamples = 6\nvalue = [0, 0, 1, 1, 3, 1]'),
 Text(0.5413469735720375, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 3, 0]'),
 Text(0.5481670929241261, 0.4722222222222222, 'X[6] <= 48.0\ngini = 0.667\nsamples = 3\nvalue = [0, 0, 1, 1, 0, 1]'),
 Text(0.5447570332480819, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.5515771526001705, 0.4166666666666667, 'X[9] <= 0.86\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.5481670929241261, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.5549872122762148, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.5754475703324808, 0.5277777777777778, 'X[2] <= 0.535\ngini = 0.438\nsamples = 18\nvalue = [0, 0, 2, 13, 3, 0]'),
 Text(0.5686274509803921, 0.4722222222222222, 'X[6] <= 20.5\ngini = 0.245\nsamples = 14\nvalue = [0, 0, 0, 12, 2, 0]'),
 Text(0.5652173913043478, 0.4166666666666667, 'X[0] <= 8.75\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 0, 2, 2, 0]'),
 Text(0.5618073316283035, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.5686274509803921, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.5720375106564365, 0.4166666666666667, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.5822676896845694, 0.4722222222222222, 'X[4] <= 0.078\ngini = 0.625\nsamples = 4\nvalue = [0, 0, 2, 1, 1, 0]'),
 Text(0.5788576300085252, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.5856777493606138, 0.4166666666666667, 'X[10] <= 10.65\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 1, 1, 0]'),
 Text(0.5822676896845694, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.5890878090366581, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.5959079283887468, 0.5833333333333334, 'X[10] <= 10.75\ngini = 0.37\nsamples = 9\nvalue = [0, 0, 1, 1, 7, 0]'),
 Text(0.5924978687127025, 0.5277777777777778, 'X[4] <= 0.073\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.5890878090366581, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.5959079283887468, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.5993179880647911, 0.5277777777777778, 'gini = 0.0\nsamples = 7\nvalue = [0, 0, 0, 0, 7, 0]'),
 Text(0.6061381074168798, 0.6388888888888888, 'X[10] <= 10.45\ngini = 0.363\nsamples = 21\nvalue = [0, 0, 0, 5, 16, 0]'),
 Text(0.6027280477408354, 0.5833333333333334, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.6095481670929241, 0.5833333333333334, 'X[7] <= 1.0\ngini = 0.266\nsamples = 19\nvalue = [0, 0, 0, 3, 16, 0]'),
 Text(0.6061381074168798, 0.5277777777777778, 'X[9] <= 1.055\ngini = 0.198\nsamples = 18\nvalue = [0, 0, 0, 2, 16, 0]'),
 Text(0.6027280477408354, 0.4722222222222222, 'X[6] <= 21.5\ngini = 0.111\nsamples = 17\nvalue = [0, 0, 0, 1, 16, 0]'),
 Text(0.5993179880647911, 0.4166666666666667, 'X[7] <= 0.998\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 0, 1, 3, 0]'),
 Text(0.5959079283887468, 0.3611111111111111, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 3, 0]'),
 Text(0.6027280477408354, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.6061381074168798, 0.4166666666666667, 'gini = 0.0\nsamples = 13\nvalue = [0, 0, 0, 0, 13, 0]'),
 Text(0.6095481670929241, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.6129582267689685, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.5988917306052856, 0.6944444444444444, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.7005274936061381, 0.8055555555555556, 'X[9] <= 0.525\ngini = 0.579\nsamples = 238\nvalue = [2, 12, 76, 133, 15, 0]'),
 Text(0.6419437340153452, 0.75, 'X[0] <= 6.85\ngini = 0.547\nsamples = 31\nvalue = [1, 3, 19, 8, 0, 0]'),
 Text(0.6334185848252344, 0.6944444444444444, 'X[4] <= 0.141\ngini = 0.66\nsamples = 10\nvalue = [0, 3, 3, 4, 0, 0]'),
 Text(0.6300085251491901, 0.6388888888888888, 'X[9] <= 0.455\ngini = 0.594\nsamples = 8\nvalue = [0, 3, 1, 4, 0, 0]'),
 Text(0.6231884057971014, 0.5833333333333334, 'X[10] <= 10.7\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1, 0, 0, 0]'),
 Text(0.6197783461210571, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.6265984654731458, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.6368286445012787, 0.5833333333333334, 'X[10] <= 10.95\ngini = 0.444\nsamples = 6\nvalue = [0, 2, 0, 4, 0, 0]'),
 Text(0.6334185848252344, 0.5277777777777778, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.6402387041773231, 0.5277777777777778, 'X[7] <= 0.995\ngini = 0.444\nsamples = 3\nvalue = [0, 2, 0, 1, 0, 0]'),
 Text(0.6368286445012787, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.6436487638533674, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0, 0, 0, 0]'),
 Text(0.6368286445012787, 0.6388888888888888, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.6504688832054561, 0.6944444444444444, 'X[0] <= 9.15\ngini = 0.381\nsamples = 21\nvalue = [1, 0, 16, 4, 0, 0]'),
 Text(0.6470588235294118, 0.6388888888888888, 'X[10] <= 10.45\ngini = 0.277\nsamples = 19\nvalue = [1, 0, 16, 2, 0, 0]'),
 Text(0.6436487638533674, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.6504688832054561, 0.5833333333333334, 'X[8] <= 3.47\ngini = 0.204\nsamples = 18\nvalue = [1, 0, 16, 1, 0, 0]'),
 Text(0.6470588235294118, 0.5277777777777778, 'gini = 0.0\nsamples = 14\nvalue = [0, 0, 14, 0, 0, 0]'),
 Text(0.6538789428815004, 0.5277777777777778, 'X[3] <= 1.85\ngini = 0.625\nsamples = 4\nvalue = [1, 0, 2, 1, 0, 0]'),
 Text(0.6504688832054561, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.6572890025575447, 0.4722222222222222, 'X[2] <= 0.045\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 0, 1, 0, 0]'),
 Text(0.6538789428815004, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.6606990622335891, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.6538789428815004, 0.6388888888888888, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.759111253196931, 0.75, 'X[5] <= 12.5\ngini = 0.552\nsamples = 207\nvalue = [1, 9, 57, 125, 15, 0]'),
 Text(0.7308184143222506, 0.6944444444444444, 'X[4] <= 0.09\ngini = 0.65\nsamples = 90\nvalue = [1, 8, 32, 41, 8, 0]'),
 Text(0.7122762148337596, 0.6388888888888888, 'X[8] <= 3.6\ngini = 0.591\nsamples = 66\nvalue = [0, 6, 19, 37, 4, 0]'),
 Text(0.7088661551577152, 0.5833333333333334, 'X[6] <= 61.0\ngini = 0.572\nsamples = 62\nvalue = [0, 6, 15, 37, 4, 0]'),
 Text(0.6956521739130435, 0.5277777777777778, 'X[9] <= 0.615\ngini = 0.548\nsamples = 57\nvalue = [0, 6, 11, 36, 4, 0]'),
 Text(0.6794543904518329, 0.4722222222222222, 'X[4] <= 0.079\ngini = 0.699\nsamples = 23\nvalue = [0, 5, 7, 9, 2, 0]'),
 Text(0.6675191815856778, 0.4166666666666667, 'X[10] <= 11.1\ngini = 0.667\nsamples = 15\nvalue = [0, 4, 7, 3, 1, 0]'),
 Text(0.6606990622335891, 0.3611111111111111, 'X[4] <= 0.076\ngini = 0.691\nsamples = 9\nvalue = [0, 4, 2, 2, 1, 0]'),
 Text(0.6572890025575447, 0.3055555555555556, 'X[7] <= 0.996\ngini = 0.571\nsamples = 7\nvalue = [0, 4, 0, 2, 1, 0]'),
 Text(0.6538789428815004, 0.25, 'X[4] <= 0.068\ngini = 0.625\nsamples = 4\nvalue = [0, 1, 0, 2, 1, 0]'),
 Text(0.6504688832054561, 0.19444444444444445, 'X[1] <= 0.53\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 0, 0, 1, 0]'),
 Text(0.6470588235294118, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.6538789428815004, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.6572890025575447, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.6606990622335891, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 3, 0, 0, 0, 0]'),
 Text(0.6641091219096334, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.6743393009377664, 0.3611111111111111, 'X[5] <= 6.5\ngini = 0.278\nsamples = 6\nvalue = [0, 0, 5, 1, 0, 0]'),
 Text(0.670929241261722, 0.3055555555555556, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 5, 0, 0, 0]'),
 Text(0.6777493606138107, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.691389599317988, 0.4166666666666667, 'X[1] <= 0.873\ngini = 0.406\nsamples = 8\nvalue = [0, 1, 0, 6, 1, 0]'),
 Text(0.6879795396419437, 0.3611111111111111, 'X[3] <= 1.9\ngini = 0.245\nsamples = 7\nvalue = [0, 0, 0, 6, 1, 0]'),
 Text(0.6845694799658995, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.691389599317988, 0.3055555555555556, 'gini = 0.0\nsamples = 6\nvalue = [0, 0, 0, 6, 0, 0]'),
 Text(0.6947996589940324, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.711849957374254, 0.4722222222222222, 'X[0] <= 12.05\ngini = 0.351\nsamples = 34\nvalue = [0, 1, 4, 27, 2, 0]'),
 Text(0.7050298380221653, 0.4166666666666667, 'X[1] <= 0.905\ngini = 0.287\nsamples = 31\nvalue = [0, 1, 2, 26, 2, 0]'),
 Text(0.7016197783461211, 0.3611111111111111, 'X[0] <= 6.1\ngini = 0.24\nsamples = 30\nvalue = [0, 0, 2, 26, 2, 0]'),
 Text(0.6982097186700768, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.7050298380221653, 0.3055555555555556, 'X[1] <= 0.445\ngini = 0.19\nsamples = 29\nvalue = [0, 0, 1, 26, 2, 0]'),
 Text(0.6982097186700768, 0.25, 'X[7] <= 0.996\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 0, 2, 2, 0]'),
 Text(0.6947996589940324, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.7016197783461211, 0.19444444444444445, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.711849957374254, 0.25, 'X[4] <= 0.086\ngini = 0.077\nsamples = 25\nvalue = [0, 0, 1, 24, 0, 0]'),
 Text(0.7084398976982097, 0.19444444444444445, 'gini = 0.0\nsamples = 23\nvalue = [0, 0, 0, 23, 0, 0]'),
 Text(0.7152600170502984, 0.19444444444444445, 'X[6] <= 22.0\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.711849957374254, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7186700767263428, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.7084398976982097, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.7186700767263428, 0.4166666666666667, 'X[2] <= 0.52\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 2, 1, 0, 0]'),
 Text(0.7152600170502984, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.722080136402387, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.722080136402387, 0.5277777777777778, 'X[5] <= 10.0\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 4, 1, 0, 0]'),
 Text(0.7186700767263428, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7254901960784313, 0.4722222222222222, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.7156862745098039, 0.5833333333333334, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.7493606138107417, 0.6388888888888888, 'X[2] <= 0.65\ngini = 0.642\nsamples = 24\nvalue = [1, 2, 13, 4, 4, 0]'),
 Text(0.7459505541346974, 0.5833333333333334, 'X[10] <= 11.25\ngini = 0.567\nsamples = 21\nvalue = [1, 2, 13, 4, 1, 0]'),
 Text(0.742540494458653, 0.5277777777777778, 'X[4] <= 0.205\ngini = 0.482\nsamples = 19\nvalue = [1, 0, 13, 4, 1, 0]'),
 Text(0.7391304347826086, 0.4722222222222222, 'X[3] <= 4.225\ngini = 0.394\nsamples = 17\nvalue = [1, 0, 13, 2, 1, 0]'),
 Text(0.73231031543052, 0.4166666666666667, 'X[6] <= 9.5\ngini = 0.24\nsamples = 15\nvalue = [0, 0, 13, 1, 1, 0]'),
 Text(0.7289002557544757, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7357203751065644, 0.3611111111111111, 'X[7] <= 0.995\ngini = 0.133\nsamples = 14\nvalue = [0, 0, 13, 0, 1, 0]'),
 Text(0.73231031543052, 0.3055555555555556, 'X[6] <= 38.5\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 0, 1, 0]'),
 Text(0.7289002557544757, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.7357203751065644, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.7391304347826086, 0.3055555555555556, 'gini = 0.0\nsamples = 12\nvalue = [0, 0, 12, 0, 0, 0]'),
 Text(0.7459505541346974, 0.4166666666666667, 'X[2] <= 0.185\ngini = 0.5\nsamples = 2\nvalue = [1, 0, 0, 1, 0, 0]'),
 Text(0.742540494458653, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0, 0, 0]'),
 Text(0.7493606138107417, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7459505541346974, 0.4722222222222222, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.7493606138107417, 0.5277777777777778, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0, 0, 0, 0]'),
 Text(0.7527706734867861, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 3, 0]'),
 Text(0.7874040920716112, 0.6944444444444444, 'X[3] <= 4.4\ngini = 0.435\nsamples = 117\nvalue = [0, 1, 25, 84, 7, 0]'),
 Text(0.7747229326513214, 0.6388888888888888, 'X[4] <= 0.056\ngini = 0.404\nsamples = 111\nvalue = [0, 1, 20, 83, 7, 0]'),
 Text(0.7595907928388747, 0.5833333333333334, 'X[10] <= 11.45\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 4, 1, 0, 0]'),
 Text(0.7561807331628303, 0.5277777777777778, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.763000852514919, 0.5277777777777778, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7898550724637681, 0.5833333333333334, 'X[7] <= 0.996\ngini = 0.374\nsamples = 106\nvalue = [0, 1, 16, 82, 7, 0]'),
 Text(0.7698209718670077, 0.5277777777777778, 'X[1] <= 0.425\ngini = 0.188\nsamples = 58\nvalue = [0, 0, 5, 52, 1, 0]'),
 Text(0.7612958226768969, 0.4722222222222222, 'X[2] <= 0.285\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 2, 2, 0, 0]'),
 Text(0.7578857630008525, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.7647058823529411, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.7783461210571185, 0.4722222222222222, 'X[9] <= 0.535\ngini = 0.139\nsamples = 54\nvalue = [0, 0, 3, 50, 1, 0]'),
 Text(0.7715260017050298, 0.4166666666666667, 'X[10] <= 11.0\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.7681159420289855, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7749360613810742, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.7851662404092071, 0.4166666666666667, 'X[10] <= 10.575\ngini = 0.11\nsamples = 52\nvalue = [0, 0, 2, 49, 1, 0]'),
 Text(0.7817561807331628, 0.3611111111111111, 'X[7] <= 0.995\ngini = 0.357\nsamples = 14\nvalue = [0, 0, 2, 11, 1, 0]'),
 Text(0.7783461210571185, 0.3055555555555556, 'X[5] <= 23.0\ngini = 0.625\nsamples = 4\nvalue = [0, 0, 2, 1, 1, 0]'),
 Text(0.7749360613810742, 0.25, 'X[5] <= 16.0\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 1, 1, 0]'),
 Text(0.7715260017050298, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.7783461210571185, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.7817561807331628, 0.25, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.7851662404092071, 0.3055555555555556, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.7885763000852515, 0.3611111111111111, 'gini = 0.0\nsamples = 38\nvalue = [0, 0, 0, 38, 0, 0]'),
 Text(0.8098891730605285, 0.5277777777777778, 'X[3] <= 1.95\ngini = 0.541\nsamples = 48\nvalue = [0, 1, 11, 30, 6, 0]'),
 Text(0.7953964194373402, 0.4722222222222222, 'X[0] <= 9.9\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 3, 0, 1, 0]'),
 Text(0.7919863597612958, 0.4166666666666667, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.7988064791133845, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.824381926683717, 0.4722222222222222, 'X[8] <= 3.335\ngini = 0.489\nsamples = 44\nvalue = [0, 1, 8, 30, 5, 0]'),
 Text(0.8056265984654731, 0.4166666666666667, 'X[4] <= 0.097\ngini = 0.35\nsamples = 31\nvalue = [0, 0, 7, 24, 0, 0]'),
 Text(0.7953964194373402, 0.3611111111111111, 'X[1] <= 0.415\ngini = 0.227\nsamples = 23\nvalue = [0, 0, 3, 20, 0, 0]'),
 Text(0.7919863597612958, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.7988064791133845, 0.3055555555555556, 'X[4] <= 0.062\ngini = 0.165\nsamples = 22\nvalue = [0, 0, 2, 20, 0, 0]'),
 Text(0.7953964194373402, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.8022165387894288, 0.25, 'X[0] <= 8.1\ngini = 0.091\nsamples = 21\nvalue = [0, 0, 1, 20, 0, 0]'),
 Text(0.7988064791133845, 0.19444444444444445, 'X[4] <= 0.087\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.7953964194373402, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.8022165387894288, 0.1388888888888889, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8056265984654731, 0.19444444444444445, 'gini = 0.0\nsamples = 19\nvalue = [0, 0, 0, 19, 0, 0]'),
 Text(0.8158567774936062, 0.3611111111111111, 'X[4] <= 0.102\ngini = 0.5\nsamples = 8\nvalue = [0, 0, 4, 4, 0, 0]'),
 Text(0.8124467178175618, 0.3055555555555556, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0, 0, 0]'),
 Text(0.8192668371696504, 0.3055555555555556, 'X[4] <= 0.117\ngini = 0.32\nsamples = 5\nvalue = [0, 0, 1, 4, 0, 0]'),
 Text(0.8158567774936062, 0.25, 'X[6] <= 48.0\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.8124467178175618, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8192668371696504, 0.19444444444444445, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.8226768968456948, 0.25, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.8431372549019608, 0.4166666666666667, 'X[9] <= 0.68\ngini = 0.627\nsamples = 13\nvalue = [0, 1, 1, 6, 5, 0]'),
 Text(0.8363171355498721, 0.3611111111111111, 'X[5] <= 37.5\ngini = 0.449\nsamples = 7\nvalue = [0, 1, 1, 5, 0, 0]'),
 Text(0.8329070758738278, 0.3055555555555556, 'X[1] <= 0.947\ngini = 0.278\nsamples = 6\nvalue = [0, 1, 0, 5, 0, 0]'),
 Text(0.8294970161977835, 0.25, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 5, 0, 0]'),
 Text(0.8363171355498721, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.8397271952259164, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.8499573742540495, 0.3611111111111111, 'X[1] <= 0.69\ngini = 0.278\nsamples = 6\nvalue = [0, 0, 0, 1, 5, 0]'),
 Text(0.8465473145780051, 0.3055555555555556, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 0, 5, 0]'),
 Text(0.8533674339300937, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8000852514919011, 0.6388888888888888, 'X[7] <= 0.995\ngini = 0.278\nsamples = 6\nvalue = [0, 0, 5, 1, 0, 0]'),
 Text(0.7966751918158568, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8034953111679455, 0.5833333333333334, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 5, 0, 0, 0]'),
 Text(0.9232736572890026, 0.8611111111111112, 'X[9] <= 0.685\ngini = 0.6\nsamples = 177\nvalue = [0, 2, 10, 82, 75, 8]'),
 Text(0.8840579710144928, 0.8055555555555556, 'X[6] <= 15.5\ngini = 0.537\nsamples = 95\nvalue = [0, 2, 8, 59, 25, 1]'),
 Text(0.8670076726342711, 0.75, 'X[9] <= 0.585\ngini = 0.531\nsamples = 25\nvalue = [0, 0, 2, 8, 15, 0]'),
 Text(0.8601875532821824, 0.6944444444444444, 'X[7] <= 0.994\ngini = 0.56\nsamples = 10\nvalue = [0, 0, 2, 6, 2, 0]'),
 Text(0.8567774936061381, 0.6388888888888888, 'X[10] <= 12.85\ngini = 0.667\nsamples = 6\nvalue = [0, 0, 2, 2, 2, 0]'),
 Text(0.8533674339300937, 0.5833333333333334, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.8601875532821824, 0.5833333333333334, 'X[7] <= 0.992\ngini = 0.5\nsamples = 4\nvalue = [0, 0, 2, 2, 0, 0]'),
 Text(0.8567774936061381, 0.5277777777777778, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.8635976129582268, 0.5277777777777778, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 2, 0, 0, 0]'),
 Text(0.8635976129582268, 0.6388888888888888, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 4, 0, 0]'),
 Text(0.8738277919863597, 0.6944444444444444, 'X[6] <= 9.0\ngini = 0.231\nsamples = 15\nvalue = [0, 0, 0, 2, 13, 0]'),
 Text(0.8704177323103154, 0.6388888888888888, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.8772378516624041, 0.6388888888888888, 'gini = 0.0\nsamples = 13\nvalue = [0, 0, 0, 0, 13, 0]'),
 Text(0.9011082693947144, 0.75, 'X[5] <= 31.5\ngini = 0.44\nsamples = 70\nvalue = [0, 2, 6, 51, 10, 1]'),
 Text(0.8908780903665814, 0.6944444444444444, 'X[0] <= 4.65\ngini = 0.381\nsamples = 62\nvalue = [0, 2, 6, 48, 6, 0]'),
 Text(0.887468030690537, 0.6388888888888888, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.8942881500426257, 0.6388888888888888, 'X[2] <= 0.725\ngini = 0.361\nsamples = 61\nvalue = [0, 1, 6, 48, 6, 0]'),
 Text(0.8908780903665814, 0.5833333333333334, 'X[6] <= 26.5\ngini = 0.343\nsamples = 60\nvalue = [0, 1, 6, 48, 5, 0]'),
 Text(0.8704177323103154, 0.5277777777777778, 'X[0] <= 7.0\ngini = 0.518\nsamples = 23\nvalue = [0, 1, 5, 15, 2, 0]'),
 Text(0.8635976129582268, 0.4722222222222222, 'X[2] <= 0.025\ngini = 0.5\nsamples = 6\nvalue = [0, 1, 4, 1, 0, 0]'),
 Text(0.8601875532821824, 0.4166666666666667, 'X[3] <= 3.05\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 0, 1, 0, 0]'),
 Text(0.8567774936061381, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8635976129582268, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0, 0, 0]'),
 Text(0.8670076726342711, 0.4166666666666667, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 4, 0, 0, 0]'),
 Text(0.8772378516624041, 0.4722222222222222, 'X[3] <= 2.475\ngini = 0.304\nsamples = 17\nvalue = [0, 0, 1, 14, 2, 0]'),
 Text(0.8738277919863597, 0.4166666666666667, 'gini = 0.0\nsamples = 12\nvalue = [0, 0, 0, 12, 0, 0]'),
 Text(0.8806479113384484, 0.4166666666666667, 'X[0] <= 10.3\ngini = 0.64\nsamples = 5\nvalue = [0, 0, 1, 2, 2, 0]'),
 Text(0.8772378516624041, 0.3611111111111111, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.8840579710144928, 0.3611111111111111, 'X[0] <= 10.95\ngini = 0.444\nsamples = 3\nvalue = [0, 0, 1, 2, 0, 0]'),
 Text(0.8806479113384484, 0.3055555555555556, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2, 0, 0]'),
 Text(0.887468030690537, 0.3055555555555556, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.9113384484228474, 0.5277777777777778, 'X[6] <= 89.5\ngini = 0.197\nsamples = 37\nvalue = [0, 0, 1, 33, 3, 0]'),
 Text(0.9045183290707587, 0.4722222222222222, 'X[6] <= 35.5\ngini = 0.111\nsamples = 34\nvalue = [0, 0, 0, 32, 2, 0]'),
 Text(0.9011082693947144, 0.4166666666666667, 'X[5] <= 23.5\ngini = 0.26\nsamples = 13\nvalue = [0, 0, 0, 11, 2, 0]'),
 Text(0.8976982097186701, 0.3611111111111111, 'X[10] <= 11.75\ngini = 0.153\nsamples = 12\nvalue = [0, 0, 0, 11, 1, 0]'),
 Text(0.8942881500426257, 0.3055555555555556, 'X[3] <= 2.45\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 1, 1, 0]'),
 Text(0.8908780903665814, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.8976982097186701, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.9011082693947144, 0.3055555555555556, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.9045183290707587, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.907928388746803, 0.4166666666666667, 'gini = 0.0\nsamples = 21\nvalue = [0, 0, 0, 21, 0, 0]'),
 Text(0.9181585677749361, 0.4722222222222222, 'X[1] <= 0.49\ngini = 0.667\nsamples = 3\nvalue = [0, 0, 1, 1, 1, 0]'),
 Text(0.9147485080988917, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.9215686274509803, 0.4166666666666667, 'X[2] <= 0.13\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 1, 1, 0, 0]'),
 Text(0.9181585677749361, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.9249786871270247, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.8976982097186701, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 1, 0]'),
 Text(0.9113384484228474, 0.6944444444444444, 'X[3] <= 2.1\ngini = 0.594\nsamples = 8\nvalue = [0, 0, 0, 3, 4, 1]'),
 Text(0.907928388746803, 0.6388888888888888, 'X[5] <= 41.25\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 0, 3, 0, 1]'),
 Text(0.9045183290707587, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.9113384484228474, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.9147485080988917, 0.6388888888888888, 'gini = 0.0\nsamples = 4\nvalue = [0, 0, 0, 0, 4, 0]'),
 Text(0.9624893435635123, 0.8055555555555556, 'X[5] <= 18.5\ngini = 0.542\nsamples = 82\nvalue = [0, 0, 2, 23, 50, 7]'),
 Text(0.9403239556692242, 0.75, 'X[5] <= 9.5\ngini = 0.465\nsamples = 57\nvalue = [0, 0, 1, 10, 40, 6]'),
 Text(0.928388746803069, 0.6944444444444444, 'X[7] <= 0.995\ngini = 0.623\nsamples = 27\nvalue = [0, 0, 0, 9, 13, 5]'),
 Text(0.9215686274509803, 0.6388888888888888, 'X[3] <= 2.45\ngini = 0.198\nsamples = 9\nvalue = [0, 0, 0, 0, 8, 1]'),
 Text(0.9181585677749361, 0.5833333333333334, 'gini = 0.0\nsamples = 8\nvalue = [0, 0, 0, 0, 8, 0]'),
 Text(0.9249786871270247, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.9352088661551577, 0.6388888888888888, 'X[9] <= 0.695\ngini = 0.623\nsamples = 18\nvalue = [0, 0, 0, 9, 5, 4]'),
 Text(0.9317988064791134, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 0, 0, 3]'),
 Text(0.9386189258312021, 0.5833333333333334, 'X[3] <= 2.625\ngini = 0.524\nsamples = 15\nvalue = [0, 0, 0, 9, 5, 1]'),
 Text(0.9352088661551577, 0.5277777777777778, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 5, 0, 0]'),
 Text(0.9420289855072463, 0.5277777777777778, 'X[9] <= 0.925\ngini = 0.58\nsamples = 10\nvalue = [0, 0, 0, 4, 5, 1]'),
 Text(0.9386189258312021, 0.4722222222222222, 'X[1] <= 0.305\ngini = 0.449\nsamples = 7\nvalue = [0, 0, 0, 1, 5, 1]'),
 Text(0.9352088661551577, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.9420289855072463, 0.4166666666666667, 'X[6] <= 14.5\ngini = 0.278\nsamples = 6\nvalue = [0, 0, 0, 1, 5, 0]'),
 Text(0.9386189258312021, 0.3611111111111111, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.9454390451832907, 0.3611111111111111, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 0, 5, 0]'),
 Text(0.9454390451832907, 0.4722222222222222, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.9522591645353794, 0.6944444444444444, 'X[9] <= 0.695\ngini = 0.187\nsamples = 30\nvalue = [0, 0, 1, 1, 27, 1]'),
 Text(0.948849104859335, 0.6388888888888888, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.9556692242114238, 0.6388888888888888, 'X[5] <= 14.5\ngini = 0.131\nsamples = 29\nvalue = [0, 0, 0, 1, 27, 1]'),
 Text(0.9522591645353794, 0.5833333333333334, 'gini = 0.0\nsamples = 22\nvalue = [0, 0, 0, 0, 22, 0]'),
 Text(0.959079283887468, 0.5833333333333334, 'X[5] <= 15.5\ngini = 0.449\nsamples = 7\nvalue = [0, 0, 0, 1, 5, 1]'),
 Text(0.9556692242114238, 0.5277777777777778, 'X[10] <= 12.3\ngini = 0.5\nsamples = 2\nvalue = [0, 0, 0, 1, 0, 1]'),
 Text(0.9522591645353794, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1, 0, 0]'),
 Text(0.959079283887468, 0.4722222222222222, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]'),
 Text(0.9624893435635123, 0.5277777777777778, 'gini = 0.0\nsamples = 5\nvalue = [0, 0, 0, 0, 5, 0]'),
 Text(0.9846547314578005, 0.75, 'X[8] <= 3.36\ngini = 0.566\nsamples = 25\nvalue = [0, 0, 1, 13, 10, 1]'),
 Text(0.9761295822676896, 0.6944444444444444, 'X[3] <= 2.15\ngini = 0.439\nsamples = 14\nvalue = [0, 0, 1, 3, 10, 0]'),
 Text(0.969309462915601, 0.6388888888888888, 'X[9] <= 0.77\ngini = 0.48\nsamples = 5\nvalue = [0, 0, 0, 3, 2, 0]'),
 Text(0.9658994032395567, 0.5833333333333334, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 0, 2, 0]'),
 Text(0.9727195225916454, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 0, 3, 0, 0]'),
 Text(0.9829497016197783, 0.6388888888888888, 'X[4] <= 0.093\ngini = 0.198\nsamples = 9\nvalue = [0, 0, 1, 0, 8, 0]'),
 Text(0.979539641943734, 0.5833333333333334, 'gini = 0.0\nsamples = 8\nvalue = [0, 0, 0, 0, 8, 0]'),
 Text(0.9863597612958227, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0, 0, 0]'),
 Text(0.9931798806479113, 0.6944444444444444, 'X[8] <= 3.7\ngini = 0.165\nsamples = 11\nvalue = [0, 0, 0, 10, 0, 1]'),
 Text(0.989769820971867, 0.6388888888888888, 'gini = 0.0\nsamples = 10\nvalue = [0, 0, 0, 10, 0, 0]'),
 Text(0.9965899403239556, 0.6388888888888888, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 0, 0, 1]')]
In [34]:
df1= df.head(30)
In [35]:
x1= df1.drop(columns= 'quality')
In [36]:
y1= df1.quality
In [37]:
dt_model1= DecisionTreeClassifier()
dt_model1.fit(x1, y1)
Out[37]:
DecisionTreeClassifier()
In [38]:
plt.figure(figsize=(20,20))
tree.plot_tree(dt_model1, filled=True)
Out[38]:
[Text(0.5909090909090909, 0.9166666666666666, 'X[2] <= 0.42\ngini = 0.471\nsamples = 30\nvalue = [1, 21, 5, 3]'),
 Text(0.36363636363636365, 0.75, 'X[6] <= 22.0\ngini = 0.334\nsamples = 26\nvalue = [1, 21, 2, 2]'),
 Text(0.18181818181818182, 0.5833333333333334, 'X[4] <= 0.076\ngini = 0.625\nsamples = 4\nvalue = [0, 1, 1, 2]'),
 Text(0.09090909090909091, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2]'),
 Text(0.2727272727272727, 0.4166666666666667, 'X[6] <= 13.5\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1, 0]'),
 Text(0.18181818181818182, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0]'),
 Text(0.36363636363636365, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0]'),
 Text(0.5454545454545454, 0.5833333333333334, 'X[10] <= 9.05\ngini = 0.169\nsamples = 22\nvalue = [1, 20, 1, 0]'),
 Text(0.45454545454545453, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0]'),
 Text(0.6363636363636364, 0.4166666666666667, 'X[1] <= 0.415\ngini = 0.091\nsamples = 21\nvalue = [0, 20, 1, 0]'),
 Text(0.5454545454545454, 0.25, 'X[1] <= 0.395\ngini = 0.444\nsamples = 3\nvalue = [0, 2, 1, 0]'),
 Text(0.45454545454545453, 0.08333333333333333, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0, 0]'),
 Text(0.6363636363636364, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0]'),
 Text(0.7272727272727273, 0.25, 'gini = 0.0\nsamples = 18\nvalue = [0, 18, 0, 0]'),
 Text(0.8181818181818182, 0.75, 'X[6] <= 81.5\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 3, 1]'),
 Text(0.7272727272727273, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0]'),
 Text(0.9090909090909091, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1]')]
In [39]:
set(y1)
Out[39]:
{4, 5, 6, 7}
In [42]:
plt.figure(figsize=(20,20))
tree.plot_tree(dt_model1, filled= True, class_names= [str(i) for i in set(y1)], feature_names= x1.columns)
plt.savefig('dt_model_1')
In [43]:
dt_model1.predict(x1)
Out[43]:
array([5, 5, 5, 6, 5, 5, 5, 7, 7, 5, 5, 5, 5, 5, 5, 5, 7, 5, 4, 6, 6, 5,
       5, 5, 6, 5, 5, 5, 5, 6], dtype=int64)
In [44]:
dt_model1.score(x1, y1)
Out[44]:
1.0
In [45]:
dt_model1.score(x_test, y_test)
Out[45]:
0.465
In [46]:
path= dt_model1.cost_complexity_pruning_path(x1, y1)
path # It's the complexity of pruning
Out[46]:
{'ccp_alphas': array([0.        , 0.03174603, 0.03333333, 0.05      , 0.05      ,
        0.06075036, 0.08216783, 0.13136752]),
 'impurities': array([0.        , 0.06349206, 0.0968254 , 0.1468254 , 0.1968254 ,
        0.25757576, 0.33974359, 0.47111111])}
In [47]:
ccp_alpha= path.ccp_alphas
In [48]:
ccp_alpha
Out[48]:
array([0.        , 0.03174603, 0.03333333, 0.05      , 0.05      ,
       0.06075036, 0.08216783, 0.13136752])
In [50]:
dt_modle2 = []
for ccp in ccp_alpha:
    dt_m  = DecisionTreeClassifier(ccp_alpha=ccp)
    dt_m.fit(x1,y1)
    dt_modle2.append(dt_m)
In [51]:
dt_modle2
Out[51]:
[DecisionTreeClassifier(),
 DecisionTreeClassifier(ccp_alpha=0.03174603174603176),
 DecisionTreeClassifier(ccp_alpha=0.03333333333333333),
 DecisionTreeClassifier(ccp_alpha=0.049999999999999996),
 DecisionTreeClassifier(ccp_alpha=0.05),
 DecisionTreeClassifier(ccp_alpha=0.06075036075036072),
 DecisionTreeClassifier(ccp_alpha=0.08216783216783222),
 DecisionTreeClassifier(ccp_alpha=0.1313675213675214)]
In [52]:
dt_model2 = []
score = []
for i in ccp_alpha:
    dt_m = DecisionTreeClassifier(ccp_alpha = i)
    dt_m.fit(x1,y1)
    dt_model2.append(dt_m)
    score.append(dt_m.score(x_test, y_test))

    
plt.plot(score, 'r-+')
plt.xlabel('iteration')
plt.ylabel('score')
Out[52]:
Text(0, 0.5, 'score')
In [53]:
train_score= [i.score(x1, y1) for i in dt_modle2]
In [54]:
test_score= [i.score(x_test, y_test) for i in dt_modle2]
In [55]:
train_score
Out[55]:
[1.0,
 0.9666666666666667,
 0.9333333333333333,
 0.9,
 0.8666666666666667,
 0.8333333333333334,
 0.8,
 0.7]
In [56]:
test_score
Out[56]:
[0.46, 0.485, 0.45, 0.4075, 0.445, 0.445, 0.4625, 0.4225]
In [57]:
plt.plot(train_score, 'r-+', label= 'train')
plt.plot(test_score, 'b-', label= 'validation')
plt.xlabel("Training set size")
plt.ylabel("Decision Tree Score")
plt.legend()
plt.show()
In [58]:
fig, ax = plt.subplots()
ax.set_xlabel("alpha")
ax.set_ylabel("accuracy")
ax.set_title("Accuracy vs alpha for training and testing sets")
ax.plot(ccp_alpha, train_score, marker='o', label="train",
        drawstyle="steps-post")
ax.plot(ccp_alpha, test_score, marker='o', label="test",
        drawstyle="steps-post")
ax.legend()
plt.show()
In [59]:
dt_model_ccp = DecisionTreeClassifier(random_state=0 , ccp_alpha=.014)
dt_model_ccp.fit(x1, y1)
Out[59]:
DecisionTreeClassifier(ccp_alpha=0.014, random_state=0)
In [60]:
plt.figure(figsize=(20, 20))
tree.plot_tree(dt_model_ccp, filled=True)
Out[60]:
[Text(0.625, 0.9166666666666666, 'X[2] <= 0.42\ngini = 0.471\nsamples = 30\nvalue = [1, 21, 5, 3]'),
 Text(0.4166666666666667, 0.75, 'X[6] <= 22.0\ngini = 0.334\nsamples = 26\nvalue = [1, 21, 2, 2]'),
 Text(0.25, 0.5833333333333334, 'X[5] <= 8.5\ngini = 0.625\nsamples = 4\nvalue = [0, 1, 1, 2]'),
 Text(0.16666666666666666, 0.4166666666666667, 'X[7] <= 0.996\ngini = 0.5\nsamples = 2\nvalue = [0, 1, 1, 0]'),
 Text(0.08333333333333333, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 1, 0, 0]'),
 Text(0.25, 0.25, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0]'),
 Text(0.3333333333333333, 0.4166666666666667, 'gini = 0.0\nsamples = 2\nvalue = [0, 0, 0, 2]'),
 Text(0.5833333333333334, 0.5833333333333334, 'X[5] <= 7.5\ngini = 0.169\nsamples = 22\nvalue = [1, 20, 1, 0]'),
 Text(0.5, 0.4166666666666667, 'gini = 0.0\nsamples = 1\nvalue = [1, 0, 0, 0]'),
 Text(0.6666666666666666, 0.4166666666666667, 'X[1] <= 0.415\ngini = 0.091\nsamples = 21\nvalue = [0, 20, 1, 0]'),
 Text(0.5833333333333334, 0.25, 'X[4] <= 0.084\ngini = 0.444\nsamples = 3\nvalue = [0, 2, 1, 0]'),
 Text(0.5, 0.08333333333333333, 'gini = 0.0\nsamples = 2\nvalue = [0, 2, 0, 0]'),
 Text(0.6666666666666666, 0.08333333333333333, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 1, 0]'),
 Text(0.75, 0.25, 'gini = 0.0\nsamples = 18\nvalue = [0, 18, 0, 0]'),
 Text(0.8333333333333334, 0.75, 'X[6] <= 81.5\ngini = 0.375\nsamples = 4\nvalue = [0, 0, 3, 1]'),
 Text(0.75, 0.5833333333333334, 'gini = 0.0\nsamples = 3\nvalue = [0, 0, 3, 0]'),
 Text(0.9166666666666666, 0.5833333333333334, 'gini = 0.0\nsamples = 1\nvalue = [0, 0, 0, 1]')]
In [63]:
dt_model_ccp.score(x_train, y_train)
Out[63]:
0.40950792326939117
In [62]:
dt_model_ccp.score(x_test, y_test)
Out[62]:
0.47
In [64]:
dt_model_ccp.score(x1, y1)
Out[64]:
1.0
In [65]:
dt_model2
Out[65]:
[DecisionTreeClassifier(),
 DecisionTreeClassifier(ccp_alpha=0.03174603174603176),
 DecisionTreeClassifier(ccp_alpha=0.03333333333333333),
 DecisionTreeClassifier(ccp_alpha=0.049999999999999996),
 DecisionTreeClassifier(ccp_alpha=0.05),
 DecisionTreeClassifier(ccp_alpha=0.06075036075036072),
 DecisionTreeClassifier(ccp_alpha=0.08216783216783222),
 DecisionTreeClassifier(ccp_alpha=0.1313675213675214)]
In [67]:
grid_pram = {"criterion":['gini','entropy'],
             "splitter":['best','random'],
             "max_depth" : range(2,40,1),
             "min_samples_split":range(2,10 ,1),
             "min_samples_leaf":range(1,10,1),
             'ccp_alpha':np.random.rand(20)
             }
In [68]:
grid_ccp = GridSearchCV(estimator= dt_model_ccp,
param_grid= grid_pram,
 cv= 10,
 n_jobs= -1)
grid_ccp.fit(x1, y1)
grid_ccp.best_params_
In [72]:
dt_cpp_new = DecisionTreeClassifier(criterion='entropy', 
max_depth= 17,
min_samples_leaf= 1, 
min_samples_split= 3,
 splitter= 'random',
 ccp_alpha= 0.014)
In [75]:
dt_cpp_new.fit(x1, y1)
Out[75]:
DecisionTreeClassifier(ccp_alpha=0.014, criterion='entropy', max_depth=17,
                       min_samples_split=3, splitter='random')
In [76]:
dt_cpp_new.score(x1, y1)
Out[76]:
1.0
In [77]:
dt_cpp_new.score(x_test, y_test)
Out[77]:
0.34
In [78]:
pred = dt_cpp_new.predict(x_train)
In [79]:
pred
Out[79]:
array([5, 7, 7, ..., 5, 4, 5], dtype=int64)
In [80]:
confusion_matrix(y_train, pred)
Out[80]:
array([[  0,   2,   5,   1,   0,   0],
       [  0,   3,  20,   4,   8,   0],
       [  0,  23, 288,  77, 124,   0],
       [  0,  33, 294,  86,  64,   0],
       [  0,  24,  94,  26,   9,   0],
       [  0,   2,  10,   1,   1,   0]], dtype=int64)